package com.valenx.distributedmulticamerasystem.camera.api;

import com.valenx.distributedmulticamerasystem.camera.view.CameraView;
import ohos.media.camera.device.FrameConfig;
import ohos.media.image.PixelMap;

//相机功能接口
public interface CameraFunction {

    //将预览界面、宽高绑定给相机控制器
    void bind(CameraView cameraView);

    //设置相机外部回调
    void setOutsideCameraCallBack(OutsideCameraCallBack outsideCameraCallBack);

    //判断是否是前置摄像头
    boolean isFrontCamera();

    //前后置相机切换
    void switchCamera();

    //打开相机
    void openCamera();

    //接收器初始化
    void receiverInit();

    //获取缩略图
    PixelMap getThumbnail(byte[] photoBytes);

    //拍照专用相机配置
    void photoCameraConfig();

    //录像专用相机配置
    void videoCameraConfig();

    //预览帧配置
    void previewFrameConfig();

    //拍照帧配置
    FrameConfig photoFrameConfig();

    //录像帧配置
    void videoFrameConfig();

    //初始化录像媒体配置
    void initMediaRecorder();

    //停止录像
    void stopRecord();

    //释放相机设备
    void releaseCamera();
}
